<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    /*1，语法：模板字符串使用反引号``
    2，字符串替代：允许再模板字符串内使用有效的JavaScript表达式或变量
    3，通过使用${...}语法表示变量或表达式或函数等
    4，${...}表达式可包含对象或对象属性，方法
    5，字符串中包含特殊符号应使用反斜杆\转义
    6，模板字符串可更自然表示多行字符串
    7，书写标签化的模板：在模板字符串前放置一个函数名来修改模板字符串*/
    // 1，
    var greeting = `你好`;
    // 2,
    var name = "Ioiy Aig";
    console.log(`你的名字是${name}`); // 你的名字是Ioiy Aig
    // 3,
    var a = 1, b = 2;
    console.log(`a+b=${a+b}`); // a+b=3
    console.log(`a*(a+b)=${a*(a+b)}`); // a*(a+b)=3
    function add() {
        return "你好";
    }
    console.log(`${add()}`);    // 你好
    // 4,
    var user = {name: "Ioiy Aig"};
    console.log(`${user.name}`);  // Ioiy Aig
    // 5,
    var greeting = "你\
    好";
    var greeting2 = "你" + "好";
    var greeting3 = `你
    好`;
    console.log(greeting, greeting2, greeting3); // 你    好 你好 你 (回车)好
    // 7,
    function subStr(str, ...indexs) {
        var result = "";
        for (var i = 0; i < indexs.length; i++) {
            if (result !== "") {
                result+=", ";
            }
            result += `第${indexs[i]}个字符为${str[i]}`;
        }
        return result;
    }
    var result = subStr `g${1}e${2}t${3}`; // 等同于下面的形式
    console.log(result);    // 第1个字符为g, 第2个字符为e, 第3个字符为t
    var result1 = subStr(["g", "e", "t"], 1, 2, 3);
    console.log(result1);   // 第1个字符为g, 第2个字符为e, 第3个字符为t
</script>
</body>
</html>